#pragma once
#include<string>
#include<sstream>
#include<unordered_map>
#include<map>
#include<memory>
#include"RetData.h"

class Header{
 public:
  const static std::string k[];
  const static std::map<std::string, std::string> retType;
  std::unordered_map<std::string, std::string> h;
  std::string sf = "HTTP/1.1";
  std::string ss = "200";
  std::string st = "OK";
  Header();
  Header(const std::string &s);
  void setsct(const std::string &msg, std::shared_ptr<RetData> &body, std::string &s);
  void setdct(const std::string &msg, std::shared_ptr<RetData> &body, std::string &s);
  void setdcl(const std::string &data, std::shared_ptr<RetData> &body);
  void setscl(const std::string &path, std::shared_ptr<RetData> &body);
  void seterror(std::shared_ptr<RetData> &body, std::string &s);
  void adjustUrl();
  void setLM(const std::string &path);
  void get(std::string &s);
  std::string getl();
};
